CloudWatch Logグループにタグを設定する
タグ使っていますか?Nameタグはもちろん、コスト配分タグをご利用の方は多いかと思います。先日、CloudWatcロググループにタグを設定しようとしたところ、AWSコンソールからタグを確認したり、タグをつけられない事に気がつきました。AWS CLIでタグの確認と適用を行います。
AWS CLIでのタグ適用
ロググループ/aws/events/SSM
のタグを表示するには以下のようにします。タグがついていない状態であることがわかります。
$ aws logs list-tags-log-group --log-group-name /aws/events/SSM { "tags": {} } $
ロググループ/aws/events/SSM
にタグCmBillingGroup
:xsystem
を設定してから、タグを表示します。
$ aws logs tag-log-group --log-group-name /aws/events/SSM --tags CmBillingGroup=xsystem $ aws logs list-tags-log-group --log-group-name /aws/events/SSM { "tags": { "CmBillingGroup": "xsystem" } } $
まとめてタグの設定状況を確認する
ロググループの一覧を取得し、タグの設定状況を表示するシェルスクリプトを作成しました。以下の内容をcwlogs-check-tags.sh
で保存します。
#! /bin/bash log_group_names=`aws logs describe-log-groups --query logGroups[].[logGroupName] --output text` while read log_group_name do echo $log_group_name aws logs list-tags-log-group --log-group-name $log_group_name done << FILE $log_group_names FILE
スクリプトを実行すると、ロググループ名とタグが表示されます。まとめてタグの設定状況を確認したい時にご活用ください。
$ sh ./cwlogs-check-tags.sh /aws/events/SSM { "tags": { "CmBillingGroup": "xsystem" } } /aws/lambda/LambdaGuardduty2Backlog-dev-main { "tags": {} }
留意事項
AWS Configルールrequired-tagsを使うと、指定したタグが設定されているか確認できますが、執筆時点でCloudWatchロググループには対応していません。最新の情報はユーザーガイドをご覧ください。
さいごに
CloudWatchロググループのタグを、AWS CLIで表示したり設定したりしました。AWSコンソールから設定できないことから、コスト配分タグの設定漏れが発生しやすい箇所かと思います。一覧表示のスクリプトを使って確認していただければと思います。